home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-atm-classic-ip-04.txt < prev    next >
Text File  |  1993-10-07  |  40KB  |  955 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6. Network Working Group                                       Mark Laubach
  7. INTERNET DRAFT                              Hewlett-Packard Laboratories
  8. Expires April 1, 1994                                    October 1, 1993
  9. <draft-ietf-atm-classic-ip-04.txt>
  10.  
  11.  
  12.  
  13.  
  14.  
  15.                      Classical IP and ARP over ATM
  16.  
  17.  
  18. Status of this Memo
  19.  
  20.    This memo is an internet draft. Internet Drafts are working documents
  21.    of the Internet Engineering Task Force (IETF), its Areas, and its
  22.    Working Groups. Note that other groups may also distribute working
  23.    documents as Internet Drafts.
  24.  
  25.    Internet Drafts are draft documents valid for a maximum of six
  26.    months.  Internet Drafts may be updated, replaced, or obsoleted by
  27.    other documents at any time. It is not appropriate to use Internet
  28.    Drafts as reference material or to cite them other than as a "working
  29.    draft" or "work in progress".  Please check the lid-abstracts.txt
  30.    listing contained in the internet-drafts shadow directories on
  31.    nic.ddn.mil, nnsc.nsf.net, nic.nordu.net, ftp.nisc.src.com, or
  32.    munnari.oz.au to learn the current status of any Internet Draft.
  33.  
  34. 1.  Abstract
  35.  
  36.    This memo defines an initial application of classical IP, ARP, and
  37.    Inverse ARP in an Asynchronous Transfer Mode (ATM) network
  38.    environment configured as a Logical IP Subnetwork (LIS) as described
  39.    below and in [1]. This memo does not preclude the subsequent
  40.    development of ATM technology into areas other than a LIS;
  41.    specifically, as single ATM networks grow to replace many ethernet
  42.    local LAN segments and as these networks become globally connected,
  43.    the application of IP and ARP will be treated differently.  This memo
  44.    considers only the application of ATM as a direct replacement for the
  45.    "wires" and local LAN segments connecting IP end-stations ("members")
  46.    and routers. Issues raised by MAC level bridging and LAN emulation
  47.    are beyond the scope of this paper.
  48.  
  49.    This memo introduces general ATM technology and nomenclature.
  50.    Readers are encouraged to review the ATM Forum and ITU-TS (formerly
  51.    CCITT) references for more detailed information about ATM
  52.    implementation agreements and standards.
  53.  
  54.  
  55.  
  56.  
  57. Laubach                                                         [Page 1]
  58.  
  59. DRAFT                Classical IP and ARP over ATM          October 1993
  60.  
  61.  
  62. 3.  Acknowledgment
  63.  
  64.    This memo could not have come into being without the critical review
  65.    from Jim Forster of Cisco Systems, Drew Perkins of FORE Systems, and
  66.    Bryan Lyles, Steve Deering, and Berry Kercheval of XEROX PARC.  The
  67.    concepts and models presented in [1], written by Dave Piscitello and
  68.    Joseph Lawrence, laid the structural groundwork for this work. This
  69.    document could have not been completed without the expertise of the
  70.    IP over ATM Working Group of the IETF and the ad hoc PVC committee at
  71.    the Amsterdam IETF meeting.
  72.  
  73. 4. Conventions
  74.  
  75.    The following language conventions are used in the items of
  76.    specification in this document:
  77.  
  78.    o   MUST, SHALL, or MANDATORY -- the item is an absolute requirement
  79.        of the specification.
  80.  
  81.    o   SHOULD or RECOMMEND -- this item should generally be followed for
  82.        all but exceptional circumstances.
  83.  
  84.    o   MAY or OPTIONAL -- the item is truly optional and may be followed
  85.        or ignored according to the needs of the implementor.
  86.  
  87. 5.  Introduction
  88.  
  89.    The goal of this specification is to allow compatible and
  90.    interoperable implementations for transmitting IP datagrams, ARP and
  91.    InARP requests and replies over ATM Adaptation Layer 5 (AAL5)[6].
  92.  
  93.    Note: this memo defines only the operation of IP and ARP over ATM,
  94.    and is not meant to describe the operation of ATM networks. Any
  95.    reference to virtual connections, permanent virtual connections, or
  96.    switched virtual connections applies only to virtual channel
  97.    connections used to support IP and ARP over ATM, and thus are assumed
  98.    to be using AAL5.  This memo places no restrictions or requirements
  99.    on virtual connections used for other purposes.
  100.  
  101.    Initial deployment of ATM provides a LAN segment replacement for
  102.    local area networks (e.g., Ethernets, Token Rings and FDDI), as a
  103.    local-area backbone between existing (non-ATM) LANs, and as
  104.    replacement for dedicated circuits or frame relay PVCs between IP
  105.    routers. In the former case, local IP routers with one or more ATM
  106.    interfaces will connect islands of ATM networks.  In the latter case,
  107.    public or private ATM Wide Area networks will be used to connect IP
  108.    routers, which in turn may or may not connect to local ATM networks.
  109.    ATM WANs and LANs may be interconnected.
  110.  
  111.  
  112.  
  113. Laubach                                                         [Page 2]
  114.  
  115. DRAFT                Classical IP and ARP over ATM          October 1993
  116.  
  117.  
  118.    Private ATM networks (local or wide area) will use the private ATM
  119.    address structure specified in the ATM Forum UNI specification [9].
  120.    This structure is modeled after the format of an OSI Network Service
  121.    Access Point Address.  A private ATM address uniquely identifies an
  122.    ATM endpoint.  Public networks will use either the address structure
  123.    specified in ITU-TS recommendation E.164 or the private network ATM
  124.    address structure.  An E.164 address uniquely identifies an interface
  125.    to a public network.
  126.  
  127.    The characteristics and features of ATM networks are different than
  128.    those found in LANs:
  129.  
  130.    o   ATM provides a Virtual Connection (VC) switched environment. VC
  131.        setup may be done on either a Permanent Virtual Connection (PVC)
  132.        or dynamic Switched Virtual Connection (SVC) basis. SVC call
  133.        management signalling is performed via implementations of the
  134.        Q.93B protocol [7,9].
  135.  
  136.    o   Data to be passed by a VC is segmented into 53 octet quantities
  137.        called cells (5 octets of ATM header and 48 octets of data).
  138.  
  139.    o   The function of mapping user PDUs (Protocol Data Unit) into the
  140.        information field of the ATM cell and vice versa is performed in
  141.        the ATM Adaptation Layer (AAL).  When a VC is created a specific
  142.        AAL type is associated with the VC.  There are four different AAL
  143.        types, which are referred to individually as "AAL1", "AAL2",
  144.        "AAL3/4", and "AAL5".  (Note: this memo concerns itself with the
  145.        mapping of IP and ARP over AAL5 only.  The other AAL types are
  146.        mentioned for introductory purposes only.)  The AAL type is known
  147.        by the VC end points via the call setup mechanism and is not
  148.        carried in the ATM cell header.  For PVCs the AAL type is
  149.        administratively configured at the end points when the Connection
  150.        (circuit) is set up.  For SVCs, the AAL type is communicated
  151.        along the VC path via Q.93B as part of call setup establishment
  152.        and the end points use the signaled information for
  153.        configuration.  ATM switches generally do not care about the AAL
  154.        type of VCs.  The AAL5 format specifies a packet format with a
  155.        maximum size of (64K - 1) octets of user data. Cells for an AAL5
  156.        PDU are transmitted first to last, the last cell indicating the
  157.        end of the PDU.  ATM standards guarantee that on a given VC, cell
  158.        ordering is preserved end-to-end.  NOTE: AAL5 provides a non-
  159.        assured data transfer service - it is up to higher-level
  160.        protocols to provide retransmission.
  161.  
  162.    o   ATM Forum signalling defines point-to-point and point-to-
  163.        multipoint Connection setup [9].  Multipoint-to-multipoint VCs
  164.        are not yet specified by ITU-TS or ATM Forum.
  165.  
  166.  
  167.  
  168.  
  169. Laubach                                                         [Page 3]
  170.  
  171. DRAFT                Classical IP and ARP over ATM          October 1993
  172.  
  173.  
  174.    o   An ATM Forum ATM endpoint address is either encoded as an NSAP,
  175.        or is an E.164 Public-UNI address [9].  In some cases, both an
  176.        ATM endpoint address and an E.164 Public UNI address are needed
  177.        by an ARP client to reach another host or router.  Since the use
  178.        of ATM endpoint addresses and E.164 public UNI addresses by ARP
  179.        are analogous to the use of Ethernet addresses, the notion of
  180.        "hardware address" is extended to encompass ATM addresses in the
  181.        context of ARP, even though ATM addresses need not have hardware
  182.        significance.  ATM Forum NSAPs use the same basic format as U.S.
  183.        GOSIP NSAPs [11].  Note: ATM Forum addresses should not be
  184.        construed as being U.S.  GOSIP NSAPs. They are not, the
  185.        administration is different, which fields get filled out are
  186.        different, etc.
  187.  
  188.    This memo describes the initial deployment of ATM within "classical"
  189.    IP networks as a direct replacement for local area networks
  190.    (ethernets) and for IP links which interconnect routers, either
  191.    within or between administrative domains. The "classical" model here
  192.    refers to the treatment of the ATM host adapter as a networking
  193.    interface to the IP protocol stack.
  194.  
  195.    Characteristics of the classical model are:
  196.  
  197.     o  The same maximum transmission unit (MTU) size is used for all VCs
  198.        in a LIS.
  199.  
  200.     o  Default LLC/SNAP encapsulation of IP packets.
  201.  
  202.     o  End-to-end IP routing architecture stays the same.
  203.  
  204.     o  IP addresses are resolved to ATM addresses by use of an ARP
  205.        service within the LIS - ARPs stay within the LIS.  From a
  206.        client's perspective, the ARP architecture stays essentially the
  207.        same, consistent with current model.
  208.  
  209.     o  One IP subnet is used for many hosts and routers. Each VC
  210.        directly connects two IP members within the same LIS.
  211.  
  212.    Future memos will describe the deployment of ATM on a global scale.
  213.    The "global" ATM model will be an evolution of the classical model
  214.    where the ATM network becomes more fully deployed and globally
  215.    available.  In this model, the traditional protocol stack
  216.    architecture also evolves allowing applications to map directly onto
  217.    VCs (e.g., TCP and UDP ports map directly onto VCs).  ARPs are no
  218.    longer bound to LIS boundaries; queries and replies may traverse the
  219.    globe.  IP will evolve to take advantage of the network services
  220.    provided by the global ATM network.
  221.  
  222.  
  223.  
  224.  
  225. Laubach                                                         [Page 4]
  226.  
  227. DRAFT                Classical IP and ARP over ATM          October 1993
  228.  
  229.  
  230.    Characteristics of the global model are:
  231.  
  232.     o  MTU size is negotiated per VC via ATM signalling.
  233.  
  234.     o  IP encapsulation is negotiated per VC via ATM signalling; this
  235.        requires common signalling to be implemented.
  236.  
  237.     o  Applications may map directly to VCs, requiring changes to
  238.        TCP/UDP/IP implementations to allow ports to map directly on to
  239.        VCs
  240.  
  241.     o  ARPs may be global, ARP architecture needs to change to support a
  242.        robust global client/server model.
  243.  
  244.     o  Differing quality of service (QOS) guarantees can be established
  245.        on a per application and per VC basis.
  246.  
  247.    The deployment of ATM into the Internet community is just beginning
  248.    and will take many years to complete. During the early part of this
  249.    period, we expect deployment to follow traditional IP subnet
  250.    boundaries for the following reasons:
  251.  
  252.     o  Administrators and managers of IP subnetworks will tend to
  253.        initially follow the same models as they currently have deployed.
  254.        The mindset of the community will change slowly over time as ATM
  255.        increases its coverage and builds its credibility.
  256.  
  257.     o  Policy administration practices rely on the security, access,
  258.        routing, and filtering capability of IP Internet gateways: i.e.
  259.        firewalls. ATM will not be allowed to "back-door" around these
  260.        mechanisms until ATM provides better management capability than
  261.        the existing services and practices.
  262.  
  263.     o  Standards for global IP over ATM will take some time to complete
  264.        and deploy.
  265.  
  266.    This memo details the treatment of the classical model of IP and ARP
  267.    over ATM. There are those who would like to have IP-over-ATM begin by
  268.    breaking the classical model - this memo represents the view that we
  269.    MUST walk before we can run. This memo does not preclude the
  270.    subsequent evolution of ATM networks as they become more globally
  271.    deployed and interconnected and the evolution of TCP and IP to take
  272.    advantage of these changes - these will be the subject of future
  273.    documents. This memo does not address issues related to transparent
  274.    data link layer interoperability.
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281. Laubach                                                         [Page 5]
  282.  
  283. DRAFT                Classical IP and ARP over ATM          October 1993
  284.  
  285.  
  286. 6.  IP Subnetwork Configuration
  287.  
  288.    In the LIS scenario, each separate administrative entity configures
  289.    its hosts and routers within a closed logical IP subnetwork.  Each
  290.    LIS operates and communicates independently of other LISs on the same
  291.    ATM network. Hosts connected to ATM communicate directly to other
  292.    hosts within the same LIS. Communication to hosts outside of the
  293.    local LIS is provided via an IP router. This router is an ATM
  294.    Endpoint attached to the ATM network that is configured as a member
  295.    of one or more LISs.  This configuration may result in a number of
  296.    disjoint LISs operating over the same ATM network. Hosts of differing
  297.    IP subnets MUST communicate via an intermediate IP router even though
  298.    it may be possible to open a direct VC between the two IP members
  299.    over the ATM network.
  300.  
  301.    The requirements for IP members  (hosts, routers) operating in an ATM
  302.    LIS configuration are:
  303.  
  304.    o   All members have the same IP network/subnet number and address
  305.        mask [8].
  306.  
  307.    o   All members within a LIS are directly connected to the ATM
  308.        network.
  309.  
  310.    o   All members outside of the LIS are accessed via a router.
  311.  
  312.    o   All members of a LIS MUST have a mechanism for resolving IP
  313.        addresses to ATM addresses via ARP [3] and vice versa via
  314.        InARP[12] when using SVCs.
  315.  
  316.    o   All members of a LIS MUST have a mechanism for resolving VCs to
  317.        IP addresses via InARP [12] when using PVCs.
  318.  
  319.    o   All members within a LIS MUST be able to communicate via ATM with
  320.        all other members in the same LIS; i.e., the virtual Connection
  321.        topology underlying the intercommunication among the members is
  322.        fully meshed.
  323.  
  324.    The following list identifies a set of ATM specific parameters that
  325.    MUST be implemented in each IP station connected to the ATM network:
  326.  
  327.    o   ATM Hardware Address (atm$ha). The ATM address of the individual
  328.        IP station.
  329.  
  330.    o   ATM ARP Request Address (atm$arp-req). atm$arp-req is the ATM
  331.        address of an individual ARP server located within the LIS.  In
  332.        an SVC environment, ARP requests are sent to this address for the
  333.        resolution of target protocol addresses to target ATM addresses.
  334.  
  335.  
  336.  
  337. Laubach                                                         [Page 6]
  338.  
  339. DRAFT                Classical IP and ARP over ATM          October 1993
  340.  
  341.  
  342.        That server MUST have authoritative responsibility for resolving
  343.        ARP requests of all IP members within the LIS.  Note: if the LIS
  344.        is operating with PVCs only, then this parameter may be set to
  345.        null and the IP station is not required to send ARP requests to
  346.        the ARP server.
  347.  
  348.    It is RECOMMENDED that routers providing LIS functionality over the
  349.    ATM network also support the ability to interconnect multiple LISs.
  350.    Routers that wish to provide interconnection of differing LISs MUST
  351.    be able to support multiple sets of these parameters (one set for
  352.    each connected LIS) and be able to associate each set of parameters
  353.    with a specific IP network/ subnet number. In addition, it is
  354.    RECOMMENDED that a router be able to provide this multiple LIS
  355.    support with a single physical ATM interface that may have one or
  356.    more individual ATM endpoint addresses.  Note: this does not
  357.    necessarily mean different ESIs (IEEE MAC addresses) when NSAPS are
  358.    used.  The last octet of the NSAP is the "Selector" field which can
  359.    be used to differentiate up to 256 different LISs.
  360.  
  361. 7.  Packet Format
  362.  
  363.    Implementations MUST support IEEE 802.2 LLC/SNAP encapsulation as
  364.    described in [2].  LLC/SNAP encapsulation is the default packet
  365.    format for IP datagrams.
  366.  
  367.    This memo recognizes that other encapsulation methods may be used
  368.    however, in the absence of other knowledge or agreement, LLC/SNAP
  369.    encapsulation is the default.
  370.  
  371.    This memo recognizes the future deployment of end-to-end signalling
  372.    within ATM that will allow negotiation of encapsulation method on a
  373.    per-VC basis.  Signalling negotiations are beyond the scope of this
  374.    memo.
  375.  
  376. 8.  MTU Size
  377.  
  378.    The default MTU size for IP members operating over the ATM network
  379.    SHALL be 9180 octets. The LLC/SNAP header is 8 octets, therefore the
  380.    default ATM AAL5 protocol data unit size is 9188 octets.  In
  381.    classical IP subnets, values other than the default can only be used
  382.    if and only if all members in the LIS have been configured to use the
  383.    non-default value.
  384.  
  385.    This memo recognizes the future deployment of end-to-end signalling
  386.    within ATM that will allow negotiation of MTU size on a per-VC basis.
  387.    Signalling negotiations are beyond the scope of this document.
  388.  
  389.  
  390.  
  391.  
  392.  
  393. Laubach                                                         [Page 7]
  394.  
  395. DRAFT                Classical IP and ARP over ATM          October 1993
  396.  
  397.  
  398. 9.  ADDRESS RESOLUTION
  399.  
  400.    Address resolution within an ATM logical IP subnet SHALL make use of
  401.    the Address Resolution Protocol (ARP) [3] and the Inverse Address
  402.    Resolution Protocol (InARP) [12].  All IP stations are required to
  403.    support these protocols as updated and extended in this memo.  Use of
  404.    these protocols differ depending on whether PVCs or SVCs are used.
  405.  
  406.    Permanent Virtual Connections
  407.  
  408.    An IP station MUST have a mechanism (eg. manual configuration) for
  409.    determining what PVCs it has, and in particular which PVCs are being
  410.    used with LLC/SNAP encapsulation.  The details of the mechanism are
  411.    beyond the scope of this memo.
  412.  
  413.    All IP members supporting PVCs are required to use the Inverse
  414.    Address Resolution Protocol (InARP) as defined in [12] on those VCs
  415.    using LLC/SNAP encapsulation. In a strict PVC environment, the
  416.    receiver SHALL infer the relevant VC from the VC on which the InARP
  417.    request (InARP_REQUEST) or response (InARP_REPLY) was received. When
  418.    the ATM source and/or target address is unknown, the corresponding
  419.    ATM address length in the InARP packet MUST be set to zero (0)
  420.    indicating a null length, otherwise the appropriate address field
  421.    should be filled in and the corresponding length set appropriately.
  422.    InARP packet format details are presented later in this memo.
  423.  
  424.    Directly from [12]: "When the requesting station receives the InARP
  425.    reply, it may complete the ARP table entry and use the provided
  426.    address information.  Note: as with ARP, information learned via
  427.    InARP may be aged or invalidated under certain circumstances."  It is
  428.    the responsibility of each IP station supporting PVCs to re-validate
  429.    ARP table entries as part of the aging process.  See the section
  430.    below on "ARP Table Aging".
  431.  
  432.    Switched Virtual Connections
  433.  
  434.    SVCs require support for ARP in the non-broadcast, non-multicast
  435.    environment that ATM networks currently provide. To meet this need a
  436.    single ARP Server MUST be located within the LIS. This server MUST
  437.    have authoritative responsibility for resolving the ARP requests of
  438.    all IP members within the LIS.
  439.  
  440.    The server itself does not actively establish connections.  It
  441.    depends on the clients in the LIS to initiate the ARP registration
  442.    procedure.  An individual client connects to the ARP server using a
  443.    point-to-point VC. The server, upon the completion of an ATM
  444.    call/connection of a new VC specifying LLC/SNAP encapsulation, will
  445.    transmit an InARP request to determine the IP address of the client.
  446.  
  447.  
  448.  
  449. Laubach                                                         [Page 8]
  450.  
  451. DRAFT                Classical IP and ARP over ATM          October 1993
  452.  
  453.  
  454.    The InARP reply from the client contains the information necessary
  455.    for the ARP Server to build its ARP table cache. This information is
  456.    used to generate replies to the ARP requests it receives.
  457.  
  458.    The ARP Server mechanism requires that each client be
  459.    administratively configured with the ATM address of the ARP Server
  460.    atm$arp-req as defined earlier in this memo. There is to be one and
  461.    only one ARP Server operational per logical IP subnet. It is
  462.    RECOMMENDED that the ARP Server also be an IP station. This station
  463.    MUST be administratively configured to operate and recognize itself
  464.    as the ARP Server for a LIS. The ARP Server MUST be configured with
  465.    an IP address for each logical IP subnet it is serving to support
  466.    InARP requests.
  467.  
  468.    This memo recognizes that a single ARP Server is not as robust as
  469.    multiple servers which synchronize their databases correctly. This
  470.    document is defining the client-server interaction by using a simple,
  471.    single server approach as a reference model, and does not prohibit
  472.    more robust approaches which use the same client-server interface.
  473.  
  474.    ARP Server Operational Requirements
  475.  
  476.    The ARP server accepts ATM calls/connections from other ATM end
  477.    points. At call setup and if the VC supports LLC/SNAP encapsulation,
  478.    the ARP server will transmit to the originating ATM station an InARP
  479.    request (InARP_REQUEST) for each logical IP subnet the server is
  480.    configured to serve. After receiving an InARP reply (InARP_REPLY),
  481.    the server will examine the IP address and the ATM address. The
  482.    server will add (or update) the <ATM address, IP address> map entry
  483.    and timestamp into its ARP table. If the InARP IP address duplicates
  484.    a table entry IP address and the InARP ATM address does not match the
  485.    table entry ATM address and there is an open VC associated with that
  486.    table entry, the InARP information is discarded and no modifications
  487.    to the table are made. ARP table entries persist until aged or
  488.    invalidated. VC call tear down does not remove ARP table entries.
  489.  
  490.    The ARP server, upon receiving an ARP request (ARP_REQUEST), will
  491.    generate the corresponding ARP reply (ARP_REPLY) if it has an entry
  492.    in its ARP table.  Otherwise it will generate a negative ARP reply
  493.    (ARP_NAK).  The ARP_NAK response is an extension to the ARP protocol
  494.    and is used to improve the robustness of the ARP server mechanism.
  495.    With ARP_NAK, a client can determine the difference between a
  496.    catastrophic server failure and an ARP table lookup failure.  The
  497.    ARP_NAK packet format is the same as the received ARP_REQUEST packet
  498.    format with the operation code set to ARP_NAK, i.e., the ARP_REQUEST
  499.    packet data is merely copied for transmission with the ARP_REQUEST
  500.    operation code reset to ARP_NAK.
  501.  
  502.  
  503.  
  504.  
  505. Laubach                                                         [Page 9]
  506.  
  507. DRAFT                Classical IP and ARP over ATM          October 1993
  508.  
  509.  
  510.    Updating the ARP table information timeout, the short form: when the
  511.    server receives an ARP request over a VC, where the source IP and ATM
  512.    address match the association already in the ARP table and the ATM
  513.    address matches that associated with the VC, the server may update
  514.    the timeout on the source ARP table entry: i.e., if the client is
  515.    sending ARP requests to the server over the same VC that it used to
  516.    register its ARP entry, the server should examine the ARP requests
  517.    and note that the client is still "alive" by updating the timeout on
  518.    the client's ARP table entry.
  519.  
  520.    Adding robustness to the address resolution mechanism using ARP: when
  521.    the server receives an ARP_REQUEST over a VC, it examines the source
  522.    information.  If there is no IP address associated with the VC over
  523.    which the ARP request was received and if the source IP address is
  524.    not associated with any other connection, then the server will add
  525.    the <ATM address, IP address> entry and timestamp into its ARP table
  526.    and associate the entry with this VC.
  527.  
  528.    ARP Client Operational Requirements
  529.  
  530.    The ARP client is responsible for contacting the ARP server to
  531.    register its own ARP information and to gain and refresh its own ARP
  532.    entry/information about other IP members.  This means, as noted
  533.    above, that ARP clients MUST be configured with the ATM address of
  534.    the ARP server. ARP clients MUST:
  535.  
  536.    1. Initiate the VC connection to the ARP server for transmitting and
  537.    receiving ARP and InARP packets.
  538.  
  539.    2. Respond to ARP_REQUEST and InARP_REQUEST packets received on any
  540.    VC appropriately.  (Refer to Section 7, "Protocol Operation" in
  541.    [12].)
  542.  
  543.    3. Generate and transmit ARP_REQUEST packets to the ARP server and to
  544.    process ARP_REPLY and ARP_NAK packets from the server appropriately.
  545.    ARP_REPLY packets should be used to build/refresh its own client ARP
  546.    table entries.
  547.  
  548.    4. Generate and transmit InARP_REQUEST packets as needed and to
  549.    process InARP_REPLY packets appropriately.  InARP_REPLY packets
  550.    should be used to build/refresh its own client ARP table entries.
  551.    (Refer to Section 7, "Protocol Operation" in [12].)
  552.  
  553.    5. Provide an ARP table aging function to remove its own old client
  554.    ARP tables entries after a convenient period of time.
  555.  
  556.    Note: if the client does not maintain an open VC to the server, the
  557.    client MUST refresh its ARP information with the server at least once
  558.  
  559.  
  560.  
  561. Laubach                                                        [Page 10]
  562.  
  563. DRAFT                Classical IP and ARP over ATM          October 1993
  564.  
  565.  
  566.    every 20 minutes.  This is done by opening a VC to the server and
  567.    exchanging the initial InARP packets.
  568.  
  569.    ARP Table Aging
  570.  
  571.    An ARP client or server MUST have knowledge of any open VCs it has
  572.    (permanent or switched), their association with an ARP table entry,
  573.    and in particular, which VCs support LLC/SNAP encapsulation.
  574.  
  575.    Client ARP table entries are valid for a maximum time of 15 minutes.
  576.  
  577.    Server ARP table entries are valid for a minimum time of 20 minutes.
  578.  
  579.    Prior to aging (removing) an ARP table entry, all members MUST
  580.    generate an InARP_REQUEST on any open VC associated with that entry.
  581.    If an InARP_REPLY is received, that table entry is updated and not
  582.    deleted.  If there is no open VC associated with the table entry, the
  583.    entry is deleted.
  584.  
  585.    ARP and InARP Packet Format
  586.  
  587.    Internet addresses are assigned independently of ATM addresses.  Each
  588.    host implementation MUST know its own IP and ATM address(es) and MUST
  589.    respond to address resolution requests appropriately.  IP members
  590.    MUST also use ARP and InARP to resolve IP addresses to ATM addresses
  591.    when needed.
  592.  
  593.    The ARP and InARP protocol has several fields that have the following
  594.    format and values:
  595.  
  596.    Data:
  597.      ar$hrd     16 bits  Hardware type
  598.      ar$pro     16 bits  Protocol type
  599.      ar$shtl     8 bits  Type & length of source ATM number (q)
  600.      ar$sstl     8 bits  Type & length of source ATM subaddress (r)
  601.      ar$op      16 bits  Operation code (request or reply)
  602.      ar$spln     8 bits  Length of source protocol address (s)
  603.      ar$thtl     8 bits  Type & length of target ATM number (x)
  604.      ar$tstl     8 bits  Type & length of target ATM subaddress (y)
  605.      ar$tpln     8 bits  Length of target protocol address (z)
  606.      ar$sha     qoctets  source ATM number
  607.      ar$ssa     roctets  source ATM subaddress
  608.      ar$spa     soctets  source protocol address
  609.      ar$tha     xoctets  target ATM number
  610.      ar$tsa     yoctets  target ATM subaddress
  611.      ar$tpa     zoctets  target protocol address
  612.  
  613.  
  614.  
  615.  
  616.  
  617. Laubach                                                        [Page 11]
  618.  
  619. DRAFT                Classical IP and ARP over ATM          October 1993
  620.  
  621.  
  622.    Where:
  623.      ar$hrd  -  assigned to ATM Forum address family and is
  624.                 dd decimal (0x00nn) [4].
  625.  
  626.      ar$pro  -  see Assigned Numbers for protocol type number for
  627.                 the protocol using ARP. (IP is 0x0800).
  628.  
  629.      ar$op   -  The operation type value (decimal):
  630.                 ARP_REQUEST   = 1
  631.                 ARP_REPLY     = 2
  632.                 InARP_REQUEST = 8
  633.                 InARP_REPLY   = 9
  634.                 ARP_NAK       = ??
  635.  
  636.      ar$spln -  length in octets of the source protocol address. For
  637.                 IP ar$spln is 4.
  638.  
  639.      ar$tpln -  length in octets of the target protocol address. For
  640.                 IP ar$tpln is 4.
  641.  
  642.      ar$sha  -  source ATM number (E.164 or ATM Forum NSAP)
  643.  
  644.      ar$ssa  -  source ATM subaddress (ATM Forum NSAP)
  645.  
  646.      ar$spa  -  source protocol address
  647.  
  648.      ar$tha  -  target ATM number (E.164 or ATM Forum NSAP)
  649.  
  650.      ar$tha  -  target ATM subaddress (ATM Forum NSAP)
  651.  
  652.      ar$tpa  -  target protocol address
  653.  
  654.    The encoding of the 8-bit type and length value for ar$shtl,
  655.    ar$sstl, ar$thtl, and ar$tstl is as follows:
  656.  
  657.      MSB   8     7     6     5     4     3     2     1   LSB
  658.         +-----+-----+-----+-----+-----+-----+-----+-----+
  659.         |  0  | 1/0 |   Octet length of address         |
  660.         +-----+-----+-----+-----+-----+-----+-----+-----+
  661.  
  662.    Where:
  663.      bit.8   (reserved) = 0  (for future use)
  664.  
  665.      bit.7   (type)     = 0  ATM Forum NSAP format
  666.                         = 1  E.164 format
  667.  
  668.      bit.6-1 (length)   = 6 bit unsigned octet length of address
  669.                           (MSB = bit.6, LSB = bit.1)
  670.  
  671.  
  672.  
  673. Laubach                                                        [Page 12]
  674.  
  675. DRAFT                Classical IP and ARP over ATM          October 1993
  676.  
  677.  
  678.    ATM addresses in Q.93B (as defined by the ATM Forum UNI 3.0
  679.    signalling specification [9]) include a "Calling Party Number
  680.    Information Element" and a "Calling Party Subaddress Information
  681.    Element".  These Information Elements (IEs) SHOULD map to ARP/InARP
  682.    source ATM number and source ATM subaddress respectively.
  683.    Furthermore, ATM Forum defines a "Called Party Number Information
  684.    Element" and a "Called Party Subaddress Information Element". These
  685.    IEs map to ARP/InARP target ATM number and target ATM subaddress
  686.    respectively.
  687.  
  688.    The ATM Forum defines three structures for the combined use of number
  689.    and subaddress [9]:
  690.  
  691.                         ATM Number      ATM Subaddress
  692.                       --------------    --------------
  693.         Structure 1   ATM Forum NSAP         null
  694.         Structure 2       E.164              null
  695.         Structure 3       E.164         ATM Forum NSAP
  696.  
  697.    IP members MUST register with their ARP server their ATM endpoint
  698.    address using the ATM address structure appropriate for their ATM
  699.    network connection: i.e., LISs implemented over ATM LANs following
  700.    ATM Forum UNI 3.0 should register using Structure 1; LISs implemented
  701.    over an E.164 "public" ATM network should register using Structure 2.
  702.    A LIS implemented over a combination of ATM LANs and public ATM
  703.    networks may need to register using Structure 3.  Implementations
  704.    based on this memo MUST support all three ATM address structures.
  705.  
  706.    ARP and InARP requests and replies for ATM address structures 1 and 2
  707.    MUST indicate a null ATM subaddress; i.e. ar$sstl.type = 1 and
  708.    ar$sstl.length = 0 and ar$tstl.type = 1 and ar$tstl.length = 0.
  709.  
  710.    Background information: the ARP packet format presented in this memo
  711.    is general in nature in that the ATM number and ATM subaddress fields
  712.    SHOULD map directly to the corresponding Q.93B fields used for ATM
  713.    call/connection setup signalling messages.  The IP over ATM Working
  714.    Group expects ATM Forum NSAPs numbers (Structure 1) to predominate
  715.    over E.164 numbers (Structure 2) as ATM endpoint identifiers within
  716.    ATM LANs.  The ATM Forum's VC Routing specification is not complete
  717.    at this time and therefore its impact on the operational use of ATM
  718.    Address Structure 3 is undefined. The ATM Forum will be defining this
  719.    relationship in the future.  It is for this reason that IP members
  720.    need to support all three ATM address structures.
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729. Laubach                                                        [Page 13]
  730.  
  731. DRAFT                Classical IP and ARP over ATM          October 1993
  732.  
  733.  
  734.    ARP/InARP Packet Encapsulation
  735.  
  736.    ARP and InARP packets are to be encoded in AAL5 PDUs using LLC/SNAP
  737.    encapsulation. The format of the AAL5 CPCS-SDU payload field for
  738.    ARP/InARP PDUs is:
  739.  
  740.                Payload Format for ARP/InARP PDUs:
  741.                +------------------------------+
  742.                |        LLC 0xAA-AA-03        |
  743.                +------------------------------+
  744.                |        OUI 0x00-00-00        |
  745.                +------------------------------+
  746.                |     Ethertype 0x08-06        |
  747.                +------------------------------+
  748.                |                              |
  749.                |      ARP/InARP Packet        |
  750.                |                              |
  751.                +------------------------------+
  752.  
  753.    The LLC value of 0xAA-AA-03 (3 octets) indicates the presence of a
  754.    SNAP header.
  755.  
  756.    The OUI value of 0x00-00-00 (3 octets) indicates that the following
  757.    two-bytes is an ethertype.
  758.  
  759.    The Ethertype value of 0x08-06 (2 octets) indicates ARP [4].
  760.  
  761.    The total size of the LLC/SNAP header is fixed at 8-octets. This
  762.    aligns the start of the ARP packet on a 64-bit boundary relative to
  763.    the start of the AAL5 CPCS-SDU.
  764.  
  765.    The LLC/SNAP encapsulation for ARP/InARP presented here is consistent
  766.    with the treatment of multiprotocol encapsulation of IP over ATM AAL5
  767.    as specified in [2] and in the format of ARP over IEEE 802 networks
  768.    as specified in [5].
  769.  
  770.    Traditionally, ARP requests are broadcast to all directly connected
  771.    IP members within a LIS. It is conceivable in the future that larger
  772.    scaled ATM networks may handle ARP requests to destinations outside
  773.    the originating LIS, perhaps even globally; issues raised by ARP'ing
  774.    outside the LIS or by a global ARP mechanism are beyond the scope of
  775.    this memo.
  776.  
  777. 10.  IP Broadcast Address
  778.  
  779.    ATM does not support broadcast addressing, therefore there are no
  780.    mappings available from IP broadcast addresses to ATM broadcast
  781.    services. Note: this lack of mapping does not restrict members from
  782.  
  783.  
  784.  
  785. Laubach                                                        [Page 14]
  786.  
  787. DRAFT                Classical IP and ARP over ATM          October 1993
  788.  
  789.  
  790.    transmitting or receiving IP datagrams specifying any of the four
  791.    standard IP broadcast address forms as described in [8].  Members,
  792.    upon receiving an IP broadcast or IP subnet broadcast for their LIS,
  793.    MUST process the packet as if addressed to that station.
  794.  
  795. 11.  IP Multicast Address
  796.  
  797.    ATM does not support multicast address services, therefore there are
  798.    no mappings available from IP multicast addresses to ATM multicast
  799.    services.  Current IP multicast implementations (i.e., MBONE and IP
  800.    tunneling, see [10]) will continue to operate over ATM based logical
  801.    IP subnets if operated in the WAN configuration.
  802.  
  803.    This memo recognizes the future development of ATM multicast service
  804.    addressing by the ATM Forum. When available and widely implemented,
  805.    the roll-over from the current IP multicast architecture to this new
  806.    ATM architecture will be straightforward.
  807.  
  808. 12.  Security
  809.  
  810.    Not all of the security issues relating to IP over ATM are clearly
  811.    understood at this time, due to the fluid state of ATM
  812.    specifications, newness of the technology, and other factors.
  813.  
  814.    It is believed that ATM and IP facilities for authenticated call
  815.    management, authenticated end-to-end communications, and data
  816.    encryption will be needed in globally connected ATM networks.  Such
  817.    future security facilities and their use by IP networks are beyond
  818.    the scope of this memo.
  819.  
  820.    There are known security issues relating to host impersonation via
  821.    the address resolution protocols used in the Internet [13].  No
  822.    special security mechanisms have been added to the address resolution
  823.    mechanism defined here for use with networks using IP over ATM.
  824.  
  825. 13.  Open Issues
  826.  
  827.    o   The ARP hardware address type value for ATM Forum and the ARP_NAK
  828.        operation type value need yet to be assigned by the Internet
  829.        Assigned Numbers Authority (IANA)
  830.  
  831.    o   Well known ATM address(es) for ARP servers?  It would be very
  832.        handy if we came up with a set of well known ATM addresses for
  833.        ARP services.  We should probably have well-known PVC port
  834.        numbers for a non-SVC environment also.
  835.  
  836.    o   Interim Local Management Interface (ILMI) services will not be
  837.        generally implemented by some providers and vendors and will not
  838.  
  839.  
  840.  
  841. Laubach                                                        [Page 15]
  842.  
  843. DRAFT                Classical IP and ARP over ATM          October 1993
  844.  
  845.  
  846.        be used to obtain the ATM address network prefix from the network
  847.        [9].  Meta-signalling does provide some of this functionality and
  848.        in the future we need to document the options.
  849.  
  850.    o   There are many VC management issues which have not yet been
  851.        addressed by this specification and which await the unwary
  852.        implementor.  For example, one problem that has not yet been
  853.        resolved is how two IP members decide which of duplicate VCs can
  854.        be released without causing VC thrashing.  If two IP stations
  855.        simultaneously established VCs to each other, it is tempting to
  856.        allow only one of these VCs to be established, or to release one
  857.        of these VCs immediately after it is established.  If both IP
  858.        stations simultaneously decide to release opposite VCs, a
  859.        thrashing effect can be created where VCs are repeatedly
  860.        established and immediately released.  For the time being, the
  861.        safest strategy is to allow duplicate VCs to be established and
  862.        simply age them like any other VCs.
  863.  
  864. REFERENCES
  865.  
  866.    [1] Piscitello, D., and Lawrence, J., "IP and ARP over the SMDS
  867.        Service", RFC1209, USC/Information Sciences Institute, March
  868.        1991.
  869.  
  870.    [2] Heinanen, Juha, "Multiprotocol Encapsulation over ATM Adaptation
  871.        Layer 5", RFC1483, USC/Information Sciences Institute, July 1993.
  872.  
  873.    [3] Plummer, D., "An Ethernet Address Resolution Protocol - or -
  874.        Converting Network Addresses to 48.bit Ethernet Address for
  875.        Transmission on Ethernet Hardware", RFC 826, MIT, November 1982.
  876.  
  877.    [4] Reynolds, J., and Postel, J., "Assigned Numbers", RFC1340, USC/
  878.        Information Sciences Institute, July 1992.
  879.  
  880.    [5] Postel, J., and Reynolds, J., "A Standard for the Transmission of
  881.        IP Datagrams over IEEE 802 Networks", RFC1042, USC/Information
  882.        Sciences Institute, February 1988.
  883.  
  884.    [6] CCITT, "Draft Recommendation I.363", CCITT Study Group XVIII,
  885.        Geneva, 19-29 January 1993.
  886.  
  887.    [7] CCITT, "Draft text for Q.93B", CCITT Study Group XI, 23 September
  888.        - 2 October 1992.
  889.  
  890.    [8] Braden, R., "Requirements for Internet Hosts -- Communication
  891.        Layers", RFC1122, USC/Information Sciences Institute, October
  892.        1989.
  893.  
  894.  
  895.  
  896.  
  897. Laubach                                                        [Page 16]
  898.  
  899. DRAFT                Classical IP and ARP over ATM          October 1993
  900.  
  901.  
  902.    [9] ATM Forum, "ATM User-Network Interface Specification Version
  903.        3.0.", ATM Forum, 480 San Antonio Road, Suite 100, Mountain View,
  904.        CA 94040, June 1993.
  905.  
  906.    [10] Deering, S, "Host Extensions for IP Multicasting", RFC1112,
  907.        USC/Information Sciences Institute, August 1989.
  908.  
  909.    [11] Colella, Richard, and Gardner, Ella, and Callon, Ross,
  910.        "Guidelines for OSI NSAP Allocation in the Internet", RFC1237,
  911.        USC/Information Sciences Institute, July 1991.
  912.  
  913.    [12] Bradely, T., and Brown, C., "Inverse Address Resolution
  914.        Protocol", RFC1293, USC/Information Sciences Institute, January
  915.        1992.
  916.  
  917.    [13] Bellovin, Steven M., "Security Problems in the TCP/IP Protocol
  918.        Suite", ACM Computer Communications Review, Vol. 19, Issue 2, pp.
  919.        32-48, 1989.
  920.  
  921. Author's Address
  922.  
  923.    Mark Laubach
  924.    Hewlett-Packard Laboratories
  925.    1501 Page Mill Road
  926.    Palo Alto, CA 94304
  927.  
  928.    Phone: 415.857.3513
  929.    FAX:   415.857.8526
  930.    EMail: laubach@hpl.hp.com
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953. Laubach                                                        [Page 17]
  954.  
  955.